1. Field of the Invention
The invention described herein relates to network interface controllers (NIC). More particularly, the present invention described herein relates to the interaction between NIC and computers with more than one processor.
2. Related Art
Communicating over a NIC typically requires the sending and receiving of packets. As computers become more complex by utilizing a set of microprocessors instead of the standard single microprocessor, issues arise concerning process allocation. In the past all packets communicated through a NIC were handled by one processor regardless of the number of processors that the computer had. New technologies have been developed to deal with this problem. Quality of Service (QoS) and Receive Side Scaling (RSS) are two examples. QoS uses a rules comparator and match arbitration to determine the processor queue to which to send a packet. RSS uses a Toeplitz hash function on the packet header and a look up table to determine the processor queue to which to send a packet.
What is needed is a method and system to simultaneously determine the processor queue identified by an RSS engine and the queue identified by a QoS engine, and subsequent means for determining which of those two queues to use, based on a resolution scheme.